package com.leyou.task;

import lombok.extern.slf4j.Slf4j;
import org.springframework.scheduling.annotation.Scheduled;
import org.springframework.stereotype.Component;

@Slf4j
//@Component  //这里注释掉，就不生效了
public class HelloJob1 {

    private int count = 1;

    /**
     * fixedDelay:  固定延时执行： 等上一次任务执行完毕之后，再计算时间去执行
     */
    @Scheduled(fixedDelay = 2000)
    public void job1() throws InterruptedException {
        log.info("task1   运行了  ==> {}", count);
        if(count == 1){
            Thread.sleep(5000);
        }
        count++;
    }

    /**
     * fixedRate： 固定频率执行：如果有某个服务执行的时间比较久，会积压很多的服务，下一次启动的时候同时去执行
     */
    @Scheduled(fixedRate = 2000)
    public void job2() throws InterruptedException {
        log.info("task2   运行了  ==> {}", count);
        if(count == 1){
            Thread.sleep(5000);
        }
        count++;
    }
}
